package com.springboot.file.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@TableName("cust_payment_plan_info")
@ApiModel(value = "客户回款计划表")
public class CustPaymentPlanInfo {

    @TableId(value = "payment_plan_id")
    @ApiModelProperty(value = "回款计划ID")
    @ExcelIgnore
    private String paymentPlanId;

    @TableField("payment_order_no")
    @ApiModelProperty(value = "付款单号")
    @ExcelProperty(value = "付款单号", index = 0)
    private String paymentOrderNo;

    @TableField("payment_acc_no")
    @ApiModelProperty(value = "付款方账号")
    @ExcelProperty(value = "付款方账号", index = 1)
    private String paymentAccNo;

    @TableField("payment_acc_nm")
    @ApiModelProperty(value = "付款方银行账户全称")
    @ExcelProperty(value = "付款方银行账户全称", index = 2)
    private String paymentAccNm;

    @TableField("payment_nm")
    @ApiModelProperty(value = "付款方名称")
    @ExcelProperty(value = "付款方名称", index = 3)
    private String paymentNm;

    @TableField("payment_bank_no")
    @ApiModelProperty(value = "付款方账号联行号")
    @ExcelProperty(value = "付款方账号联行号", index = 4)
    private String paymentBankNo;

    @TableField("payment_bank_nm")
    @ApiModelProperty(value = "付款方账号开户行名称")
    @ExcelProperty(value = "付款方账号开户行名称", index = 5)
    private String paymentBankNm;

    @TableField("payment_type")
    @ApiModelProperty(value = "付款方式")
    @ExcelProperty(value = "付款方式", index = 6)
    private String paymentType;

    @TableField("payment_amt")
    @ApiModelProperty(value = "付款金额")
    @ExcelProperty(value = "付款金额", index = 7)
    private BigDecimal paymentAmt;

    @TableField("currency_uomid")
    @ApiModelProperty(value = "币种")
    @ExcelProperty(value = "币种", index = 8)
    private String currencyUomid;

    @TableField("plan_payment_date")
    @ApiModelProperty(value = "预计付款日期")
    @ExcelProperty(value = "预计付款日期", index = 9)
    private String planPaymentDate;

    @TableField("rece_acc_no")
    @ApiModelProperty(value = "收款账号")
    @ExcelProperty(value = "收款账号", index = 10)
    private String receAccNo;

    @TableField("rece_acc_nm")
    @ApiModelProperty(value = "收款方账号名称")
    @ExcelProperty(value = "收款方账号名称", index = 11)
    private String receAccNm;

    @TableField("rece_bank_no")
    @ApiModelProperty(value = "收款方账号联行号")
    @ExcelProperty(value = "收款方账号联行号", index = 12)
    private String receBankNo;

    @TableField("rece_bank_nm")
    @ApiModelProperty(value = "收款方账号开户行名称")
    @ExcelProperty(value = "收款方账号开户行名称", index = 13)
    private String receBankNm;

    @TableField("order_no")
    @ApiModelProperty(value = "订单编号")
    @ExcelProperty(value = "订单编号", index = 14)
    private String orderNo;

    @TableField("need_pay_acc_evidence_code")
    @ApiModelProperty(value = "应付账款凭证编号")
    @ExcelProperty(value = "应付账款凭证编号", index = 15)
    private String needPayAccEvidenceCode;

    @TableField("create_user")
    @ApiModelProperty("创建用户")
    @ExcelIgnore
    private String createUser;

    @TableField("last_update_user")
    @ApiModelProperty("最新更新用户")
    @ExcelIgnore
    private String lastUpdateUser;

    @TableField(value = "create_datetime", fill = FieldFill.INSERT)
    @ApiModelProperty("创建时间")
    @ExcelIgnore
    private LocalDateTime createDatetime;

    @TableField(value = "last_update_datetime", fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty("最新更新时间")
    @ExcelIgnore
    private LocalDateTime lastUpdateDatetime;
}
